package lxs.tool.liberator.common.base.enums.code;

public interface Template {
    static String TEMPLATE() {
        return "TEMPLATE";
    }

    static String INDEX() {
        return "INDEX";
    }

    interface Templates {
        String pojo = "pojo";
        String param = "param";
        String mapper = "mapper";
        String service = "service";
        String controller = "controller";
        String imp = "imp";
        String xml = "xml";
        String select = "select";
        String update = "update";
        String insert = "insert";
        String delete = "delete";
        String join = "join";
        String function = "function";
        String filed = "filed";
        String aop = "Aop";
        String response = "Response";
        String application = "application";
    }

    interface Application {
        String groupId = "groupId";
        String projectName = "projectName";
        String comment = "comment";
    }

    interface Pojo {
        String packagePath = "packagePath";
        String dependencies = "dependencies";
        String tableName = "tableName";
        String className = "className";
        String fields = "fields";
        String comment = "comment";
    }

    interface Param {
        String packagePath = "packagePath";
        String dependencies = "dependencies";
        String className = "className";
        String fields = "fields";
        String comment = "comment";
    }

    interface Field {
        String annotations = "annotations";
        String modifier = "modifier";
        String fieldName = "fieldName";
        String type = "type";
        String comment = "comment";
    }

    interface Function {
        String annotations = "annotations";
        String modifier = "modifier";
        String functionName = "functionName";
        String params = "params";
        String body = "body";
        String type = "type";
        String comment = "comment";
    }

    interface Mapper {
        String packagePath = "packagePath";
        String dependencies = "dependencies";
        String className = "className";
        String pojo = "pojo";
        String functions = "functions";
        String comment = "comment";
    }

    interface Service {
        String packagePath = "packagePath";
        String dependencies = "dependencies";
        String className = "className";
        String functions = "functions";
        String comment = "comment";
    }

    interface Imp {
        String packagePath = "packagePath";
        String dependencies = "dependencies";
        String className = "className";
        String serviceName = "serviceName";
        String fields = "fields";
        String functions = "functions";
        String comment = "comment";
    }

    interface Controller {
        String packagePath = "packagePath";
        String dependencies = "dependencies";
        String className = "className";
        String url = "url";
        String fields = "fields";
        String functions = "functions";
        String comment = "comment";
    }

    interface Xml {
        String mapperPath = "mapperPath";
        String sql = "sql";
    }

    interface Select {
        String functionName = "functionName";
        String typePath = "typePath";
        String columns = "columns";
        String tableName = "tableName";
        String joins = "joins";
        String as = "as";
        String conditions = "conditions";
    }

    interface Update {
        String functionName = "functionName";
        String tableName = "tableName";
        String sets = "sets";
        String conditions = "conditions";
    }

    interface Delete {
        String functionName = "functionName";
        String tableName = "tableName";
        String conditions = "conditions";
    }

    interface Insert {
        String values = "values";
        String tableName = "tableName";
        String columns = "columns";
        String functionName = "functionName";
    }

    interface Aop {
        String path = "path";
    }

    interface Response {
        String path = "path";
    }

    interface Join {
        String how = "how";
        String joinTableName = "joinTableName";
        String joinTableAs = "joinTableAs";
        String joinColumnName = "joinColumnName";
        String mainTable = "mainTable";
        String mainColumn = "mainColumn";
    }
}
